Public Function ml_string(ByVal StringID As Long, Optional ByVal Text As String = "") As String
Select Case ml_CurrentLanguageId
'English (United Kingdom)
Case 2057
Select Case StringID
Case 1: ml_string = "SimpleEditor"
Case 2: ml_string = "New"
Case 3: ml_string = "Open"
Case 4: ml_string = "Save"
Case 5: ml_string = "Cut"
Case 6: ml_string = "Copy"
Case 7: ml_string = "Paste"
Case 8: ml_string = "Status"
Case 9: ml_string = "&File"
Case 10: ml_string = "&New"
Case 11: ml_string = "&Open..."
Case 12: ml_string = "&Close"
Case 13: ml_string = "-"
Case 14: ml_string = "&Save"
Case 15: ml_string = "Save &As..."
Case 16: ml_string = "-"
Case 17: ml_string = "E&xit"
Case 18: ml_string = "&Edit"
Case 19: ml_string = "Cu&t"
Case 20: ml_string = "&Copy"
Case 21: ml_string = "&Paste"
Case 22: ml_string = "&View"
Case 23: ml_string = "&Toolbar"
Case 24: ml_string = "Status &Bar"
Case 25: ml_string = "&Tools"
Case 26: ml_string = "&Help"
Case 27: ml_string = "&About "
Case 28: ml_string = "LicenseTo"
Case 29: ml_string = "Product"
Case 30: ml_string = "CompanyProduct"
Case 31: ml_string = "Platform"
Case 32: ml_string = "Version"
Case 33: ml_string = "Warning"
Case 34: ml_string = "Company"
Case 35: ml_string = "Copyright"
Case 36: ml_string = "About SimpleEditor"
Case 37: ml_string = "OK"
Case 38: ml_string = "&System Info..."
Case 39: ml_string = "This is a simple editor, based on a TextBox control. It is part of a tutorial for the Multi-Language Add-In for Visual Basic 6.0"
Case 40: ml_string = "SimpleEditor"
Case 41: ml_string = "Version"
Case 42: ml_string = "Warning: This program is not intended for serious use."
Case 43: ml_string = "Save"
Case 44: ml_string = "All Files (*.*)|*.*|Text Files (*.txt)|*.txt"
Case 45: ml_string = "Open"
Case 46: ml_string = "Save changes?"
Case 47: ml_string = "SimpleEditor"
Case 48: ml_string = "Version "
Case Else: ml_string = Text
End Select
'German (Standard)
Case 1031
Select Case StringID
Case 1: ml_string = "Simpler Editor"
Case 2: ml_string = "Neu"
Case 3: ml_string = "╓ffnen"
Case 4: ml_string = "Speichern"
Case 5: ml_string = "Ausschneiden"
Case 6: ml_string = "Kopieren"
Case 7: ml_string = "Einfⁿgen"
Case 8: ml_string = "Status"
Case 9: ml_string = "&Datei"
Case 10: ml_string = "&Neu"
Case 11: ml_string = "╓&ffnen"
Case 12: ml_string = "Sch&liessen"
Case 13: ml_string = "-"
Case 14: ml_string = "&Speichern"
Case 15: ml_string = "Speichern &unter"
Case 16: ml_string = "-"
Case 17: ml_string = "&Beenden"
Case 18: ml_string = "&Bearbeiten"
Case 19: ml_string = "&Ausschneiden"
Case 20: ml_string = "&Kopieren"
Case 21: ml_string = "&Einfⁿgen"
Case 22: ml_string = "&Ansicht"
Case 23: ml_string = "&Werkzeugleiste"
Case 24: ml_string = "&Statusleiste"
Case 25: ml_string = "&Werkzeuge"
Case 26: ml_string = "&Hilfe"
Case 27: ml_string = "&▄ber"
Case 28: ml_string = "LicenseTo"
Case 29: ml_string = "Product"
Case 30: ml_string = "CompanyProduct"
Case 31: ml_string = "Platform"
Case 32: ml_string = "Version"
Case 33: ml_string = "Warning"
Case 34: ml_string = "Company"
Case 35: ml_string = "Copyright"
Case 36: ml_string = "▄ber den simplen Editor"
Case 37: ml_string = "OK"
Case 38: ml_string = "&Systeminfo"
Case 39: ml_string = "Dies ist ein simpler auf einem Text-Steuerelement basierender Editor. Er ist Teil eines Tutorials fⁿr das Multi-Language Add-In fⁿr Visual Basic 6.0"
Case 40: ml_string = "Simpler Editor"
Case 41: ml_string = "Version"
Case 42: ml_string = "Warnung: Fⁿr den profesionellen Einsatz nicht geeignet."
Case 43: ml_string = "Speichern"
Case 44: ml_string = "Alle Dateien (*.*)|*.*|Text Dateien (*.txt)|*.txt"
Case 45: ml_string = "╓ffnen"
Case 46: ml_string = "─nderungen speichern?"
Case 47: ml_string = "Simpler Editor"
Case 48: ml_string = "Version "
Case Else: ml_string = Text
End Select
End Select
End Function
Public Function ml_LanguageName(ByVal LangIndex As Long) As String
Select Case LangIndex
Case 2057: ml_LanguageName = "English (United Kingdom)"
Case 1031: ml_LanguageName = "German (Standard)"
Case Else: ml_LanguageName = "Invalid Language Index"
End Select
End Function
Public Sub ml_ChangeLanguage(ByVal LanguageID As Long, ByVal Language As String)
'If an application uses UserControls or Class Modules compiled as separate
'projects, then these projects may (a) not support the same languages or
'(b) not use the same ID number for a given language.
'If the language is changed at run time, an event can be fired via the
'MLSupport object, and received in all projects.
'This function checks whether the ID and Language name match before accepting
'the language change. If they do not match, then it searches for language
'using the language name not the ID. If the language is not found, then the
'language is not changed.
'Check whether the LanguageID and the Language match in this project.
'Use StrComp() for case insensitive comparison
If StrComp(ml_LanguageName(LanguageID), Language, vbTextCompare) = 0 Then
ml_CurrentLanguageId = LanguageID
Else
'LanguageID may be different in this project.
'Search for the language string.
For LanguageID = 0 To ml_LanguageCount - 1
If StrComp(ml_LanguageName(LanguageID), Language, vbTextCompare) = 0 Then